//
//  main.m
//  OC04_作业
//
//  Created by dllo on 15/12/3.
//  Copyright © 2015年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>
typedef struct Student {
    char name[20];
    int age;
    char sex;
    int number;
    float score;
} Student;
typedef struct Student student;


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        /** 题目要求：
         1、将“文艺青年”改为“213青年”。
         2、将整数123， 转换为字符串“123”。
         3、将“i love you”中的单词首字母大写“I Love You”。
         4、判断一个字符串是否以http开头，以png结尾，如果是，输出是一个有效链接，如果不是，输出链接错误。 */
#if 0
        NSString *str1 = @"文艺青年";
        NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"文艺" withString:@"213"];
        NSLog(@"%@", str2);
        
        int a = 123;
        NSString *str3 = [[NSString alloc] initWithFormat:@"%d", a];
        NSLog(@"%@", str3);
        
        NSString *str4 = @"i love you";
        NSLog(@"%@", [str4 capitalizedString]);
        
        NSString *str5 = @"http://www.kengni.com";
        if ([str5 hasPrefix:@"http"] && [str5 hasSuffix:@"png"]) {
            NSLog(@"有效链接");
        } else {
            NSLog(@"无效连接");
        }
#endif
        /** 题目要求：
         1、将整数123，存储为NSNumber类型的对象。
         2、将3.14159，存储为NSNumber类型的对象。
         3、将'c'，存储为NSNumber类型的对象。
         4、将YES，存储为NSNumber类型的对象。
         5、将上述OC的NSNumber类型的对象转回为基本数据类型。 */
#if 0
        int a = 123;
        
        NSNumber *number = [NSNumber numberWithInt:a];
        NSNumber *number1 = @123;
        
        NSLog(@"%@", number);
        
        float b = 3.14159;
        
        NSNumber *num1 = [NSNumber numberWithFloat:b];
        NSNumber *num11 = @(b);
        
        NSLog(@"%@", num11);
        
        char x = 'c';
        NSNumber *num2 = [NSNumber numberWithChar:x];
        NSLog(@"%@", num2);
        
        BOOL isOn = YES;
        NSNumber *num3 = [NSNumber numberWithBool:isOn];
        NSLog(@"%@", num3);
        
        int aa = number.intValue;
        NSLog(@"%d", aa);
        
        float bb = num11.floatValue;
        NSLog(@"%f", bb);

        char xx = num2.charValue;
        NSLog(@"%c", xx);
        
        BOOL isOnOn = num3.boolValue;
        NSLog(@"%d", isOnOn);
#endif
        
        /** 题目要求：
         1、定义Student结构体，包含姓名，性别，年龄，分数，学号；定义该结构体的变量，并存储为NSValue类型的对象。
         
         2、定义NSRange类型的变量，存储为NSValue类型的对象。
         
         3、将上述NSValue类型的对象，转回为相应的数据类型。 */
        
        Student stu = {"wangqiang", 50, 'm', 2, 80.5};
        NSValue *stValue = [NSValue valueWithBytes:&stu objCType:@encode(Student)];
        Student stu2;
        [stValue getValue:&stu2];
        NSLog(@"%d", stu2.age);
        NSLog(@"%.2f", stu2.score);
        NSLog(@"%d", stu2.number);
        
        
        NSRange range = {3, 4};
        NSValue *value = [NSValue valueWithRange:range];
        NSLog(@"%@", value);
        
        NSRange newRange = value.rangeValue;
        NSLog(@"%ld %ld", newRange.location, newRange.length);
        
        
        
        
        
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    }
    return 0;
}
